Replace MediaTek delay timer by generic one
authorAntonio Nino Diaz <[email protected]>
Thu, 5 May 2016 14:23:56 +0000 (15:23 +0100)
committerAntonio Nino Diaz <[email protected]>
Fri, 20 May 2016 14:29:30 +0000 (15:29 +0100)
Use the generic delay timer instead of having a specific platform
file for configuring it.

Change-Id: If6b8f60bc04230f4b85b2bcc1b670fc65461214e

plat/mediatek/mt8173/bl31_plat_setup.c
plat/mediatek/mt8173/include/mt8173_def.h
plat/mediatek/mt8173/include/plat_private.h
plat/mediatek/mt8173/plat_delay_timer.c [deleted file]
plat/mediatek/mt8173/platform.mk

index 749009ea66c6f58659a03d13d587a484a6264aad..4626f81f3e67c97ea8057ee1e14e7d417b57284f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -32,6 +32,7 @@
 #include <bl_common.h>
 #include <console.h>
 #include <debug.h>
+#include <generic_delay_timer.h>
 #include <mcucfg.h>
 #include <mmio.h>
 #include <mtcmos.h>
@@ -167,7 +168,7 @@ void bl31_platform_setup(void)
        platform_setup_cpu();
        platform_setup_sram();
 
-       plat_delay_timer_init();
+       generic_delay_timer_init();
 
        /* Initialize the gic cpu and distributor interfaces */
        plat_mt_gic_init();
index 360be6c8631465b7d9a081e59b6a68ffdf53c98b..87e9c046e17ee3bfc99bd426d9b678581336099c 100644 (file)
@@ -83,7 +83,6 @@
  * System counter frequency related constants
  ******************************************************************************/
 #define SYS_COUNTER_FREQ_IN_TICKS      13000000
-#define SYS_COUNTER_FREQ_IN_MHZ                13
 
 /*******************************************************************************
  * GIC-400 & interrupt handling related constants
index bdde6a6c4d1f7ee84e386300fd138620cf14d4f0..ae50e449327246829e52a4ff1b497ada45b14b94 100644 (file)
@@ -51,6 +51,4 @@ void plat_mt_gic_init(void);
 /* Declarations for plat_topology.c */
 int mt_setup_topology(void);
 
-void plat_delay_timer_init(void);
-
 #endif /* __PLAT_PRIVATE_H__ */
diff --git a/plat/mediatek/mt8173/plat_delay_timer.c b/plat/mediatek/mt8173/plat_delay_timer.c
deleted file mode 100644 (file)
index cc66b80..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * Neither the name of ARM nor the names of its contributors may be used
- * to endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-#include <arch_helpers.h>
-#include <delay_timer.h>
-#include <mt8173_def.h>
-
-static uint32_t plat_get_timer_value(void)
-{
-       /* Generic delay timer implementation expects the timer to be a down
-        * counter. We apply bitwise NOT operator to the tick values returned
-        * by read_cntpct_el0() to simulate the down counter. */
-       return (uint32_t)(~read_cntpct_el0());
-}
-
-static const timer_ops_t plat_timer_ops = {
-       .get_timer_value        = plat_get_timer_value,
-       .clk_mult               = 1,
-       .clk_div                = SYS_COUNTER_FREQ_IN_MHZ,
-};
-
-void plat_delay_timer_init(void)
-{
-       timer_init(&plat_timer_ops);
-}
index 1c550f35ab4663b93a115888d6c8ed7490aadcc0..8f4823040b7287ef9eb34d35481a72769c8c647f 100644 (file)
@@ -52,6 +52,7 @@ BL31_SOURCES          +=      drivers/arm/cci/cci.c                           \
                                drivers/arm/gic/gic_v3.c                        \
                                drivers/console/console.S                       \
                                drivers/delay_timer/delay_timer.c               \
+                               drivers/delay_timer/generic_delay_timer.c       \
                                lib/cpus/aarch64/aem_generic.S                  \
                                lib/cpus/aarch64/cortex_a53.S                   \
                                lib/cpus/aarch64/cortex_a57.S                   \
@@ -72,7 +73,6 @@ BL31_SOURCES          +=      drivers/arm/cci/cci.c                           \
                                ${MTK_PLAT_SOC}/drivers/spm/spm_suspend.c       \
                                ${MTK_PLAT_SOC}/drivers/timer/mt_cpuxgpt.c      \
                                ${MTK_PLAT_SOC}/drivers/uart/8250_console.S     \
-                               ${MTK_PLAT_SOC}/plat_delay_timer.c              \
                                ${MTK_PLAT_SOC}/plat_mt_gic.c                   \
                                ${MTK_PLAT_SOC}/plat_pm.c                       \
                                ${MTK_PLAT_SOC}/plat_sip_calls.c                \